package com.translation.assistant.data

import com.translation.assistant.data.bean.Language

object OfflineConstant {
    val ALL_LANGUAGES = LanguageInformation.ZH.getAllLanguages()
}

enum class LanguageInformation(val code: String, val des: String, val short: String) {
    ZH("zh", "中文", "中文"),
    EN("en", "英语", "English"),
    JA("ja", "日语", "日本語"),
    KO("ko", "韩语", "한국어"),
    FR("fr", "法语", "Français"),
    RU("ru", "俄语", "русский"),
    ES("es", "西班牙语", "Español"),
    PT("pt", "葡萄牙语", "Português"),
    DE("de", "德语", "Deutsch"),
    IT("it", "意大利语", "Italiano"),
    TR("tr", "土耳其语", "Türkçe"),
    VI("vi", "越南语", "Tiếng Việt"),
    ID("id", "印度尼西亚语", "Bahasa Indonesia"),
    TH("th", "泰语", "ไทย"),
    MS("ms", "马来西亚语", "Bahasa Melayu"),
    HI("hi", "印地语", "हिन्दी"),
    AR("ar", "阿拉伯语", "العربية"),
    BN("bn", "孟加拉语", "বাংলা"),
    CS("cs", "捷克语", "čeština"),
    DA("da", "丹麦语", "Dansk"),
    EL("el", "希腊语", "Ελληνικά"),
    FI("fi", "芬兰语", "Suomi"),
    HE("he", "希伯来语", "עברית"),
    HR("hr", "克罗地亚语", "Hrvatski"),
    HU("hu", "匈牙利语", "Magyar"),
    NL("nl", "荷兰语", "Nederlands"),
    NO("no", "挪威语", "Norsk"),
    PL("pl", "波兰语", "Polski"),
    RO("ro", "罗马尼亚语", "Română"),
    SK("sk", "斯洛伐克语", "Slovenčina"),
    SV("sv", "瑞典语", "Svenska"),
    UK("uk", "乌克兰语", "Українська"),
    UR("ur", "乌尔都语", "اردو"),
    CY("cy", "威尔士语", "Cymraeg"),
    CA("ca", "加泰罗尼亚语", "Català"),
    GA("ga", "爱尔兰语", "Gaeilge"),
    LA("la", "拉丁语", "Latina"),
    ET("et", "爱沙尼亚语", "Eesti"),
    IS("is", "冰岛语", "Íslenska"),
    LT("lt", "立陶宛语", "Lietuvių"),
    LV("lv", "拉脱维亚语", "Latviešu"),
    MT("mt", "马耳他语", "Malti"),
    SR("sr", "塞尔维亚语", "Српски"),
    SW("sw", "斯瓦希里语", "Kiswahili"),
    TL("tl", "菲律宾语", "Filipino"),
    YI("yi", "依地语", "ייִדיש"),
    ZU("zu", "祖鲁语", "isiZulu"),
    AM("am", "阿姆哈拉语", "አማርኛ"),
    AZ("az", "阿塞拜疆语", "Azərbaycan"),
    BE("be", "白俄罗斯语", "Беларуская"),
    BG("bg", "保加利亚语", "Български"),
    KM("km", "高棉语", "ភាសាខ្មែរ"),
    MY("my", "缅甸语", "မြန်မာ"),
    SI("si", "僧伽罗语", "සිංහල"),
    UZ("uz", "乌兹别克语", "O'zbek"),
    ;


    fun getAllLanguages(): List<Language> {
        val list = mutableListOf<Language>()
        values().forEach {
            list.add(Language(it.code, it.des, it.short))
        }
        return list
    }
}